package com.hewl.exer;

/**
 * 使用同步机制将单例模式中的懒汉式改写为线程安全的
 *
 * @author 何文亮
 * @date 2021-03-17
 */
public class BankTest {
    public static void main(String[] args) {

    }
}

class Bank {

    private Bank() {
    }

    private static Bank instance = null;

    public static Bank getInstance() {
        //方式一：效率较差
//        synchronized(Bank.class) {
//            if (instance == null) {
//
//                instance = new Bank();
//            }
//            return instance;
//        }
        //方式二：
        if (instance == null) {
            synchronized (Bank.class) {
                if (instance == null) {

                    instance = new Bank();
                }
            }
        }
        return instance;
    }

}